﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BW.WMS.WareHouseAllot.Dto.Goods
{
    /// <summary>
    /// 货品信息返回数据
    /// </summary>
    public class GoodsDto
    {
        /// <summary>
        /// 货品编码
        /// </summary>
        public string GoodsCode { get; set; }

        /// <summary>
        /// 货品名称
        /// </summary>
        public string GoodsName { get; set; }

        /// <summary>
        /// 货品状态
        /// true: 启用 false: 禁用
        /// </summary>
        public bool GoodsStatus { get; set; }

        /// <summary>
        /// 货品类型（外键）
        /// </summary>
        public Guid GoodsTypeId { get; set; }

        /// <summary>
        /// 仓库id（外键）
        /// </summary>
        public Guid WareHouseId { get; set; } // 仓库ID

        /// <summary>
        /// 货品类型实体
        /// </summary>
        //public GoodsTypeModel GoodsType { get; set; }

        /// <summary>
        /// 货品单位
        /// </summary>
        public string GoodsUnit { get; set; }

        /// <summary>
        /// 供应商
        /// </summary>
        public string Supplier { get; set; } = string.Empty;

        /// <summary>
        /// 客户
        /// </summary>
        public string Customer { get; set; } = string.Empty;

        /// <summary>
        /// 入库价格
        /// </summary>
        public decimal InventoryPrice { get; set; }

        /// <summary>
        /// 出库价格
        /// </summary>
        public decimal OutboundPrice { get; set; }

        /// <summary>
        /// 库存
        /// </summary>
        public int Inventory { get; set; }

        /// <summary>
        /// 库存总金额
        /// </summary>
        public decimal SumPrice { get; set; }

        /// <summary>
        /// 保质期
        /// </summary>
        public string Lifetime { get; set; }

        /// <summary>
        /// 保质期管理
        /// false:未开启 true:已开启
        /// </summary>
        public bool LifetimeManage { get; set; }

        /// <summary>
        /// 预警天数
        /// </summary>
        public int EarlyWarningDays { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }

        /// <summary>
        /// 货品信息备注
        /// </summary>
        public string GoodsNotes { get; set; }

        /// <summary>
        /// 图片
        /// </summary>
        public string Img { get; set; } = string.Empty;

        /// <summary>
        /// 附件文件
        /// </summary>
        public string File { get; set; } = string.Empty;

        /// <summary>
        /// 创建人
        /// </summary>
        public string CreateName { get; set; }
    }
}
